package com.wz.project.stock.stock.mapper;

import com.wz.device.entity.BasCargoSpace;
import com.wz.project.mydo.domain.MydoJobFinish;
import com.wz.project.stock.domain.BasStock;
import com.wz.project.stock.stockdetail.domain.BasStockDetail;

import java.util.List;

/**
 * 库存Mapper接口
 * 
 * @author wz
 * @date 2021-11-12
 */
public interface BasStockMapper
{
    /**
     * 查询库存
     * 
     * @param stockId 库存ID
     * @return 库存
     */
    public BasStock selectBasStockById(String stockId);

    /**
     * 查询库存列表
     * 
     * @param basStock 库存
     * @return 库存集合
     */
    public List<BasStock> selectBasStockList(BasStock basStock);
    public List<BasStock> selectBasStockList2(BasStock basStock);

    /**
     * 新增库存
     * 
     * @param basStock 库存
     * @return 结果
     */
    int addStock(BasStock basStock);
    /**
     * 修改库存
     * 
     * @param basStock 库存
     * @return 结果
     */
    public int updateBasStock(BasStock basStock);

    /**
     * 删除库存
     * 
     * @param stockId 库存ID
     * @return 结果
     */
    public int removeStock(String stockId[]);

    /**
     * 批量删除库存
     * 
     * @param stockIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteBasStockByIds(String[] stockIds);

    /**
     * 改变库存出库数量
     */
    public int updateOutQuantity(String jobId);

    /**
     * 根据货位删库存
     */
//    public int deleteStock(String jobId);

    /**
     *根据货位查库存
     */
    public List<BasStock> selectStockByCargo(String cargoSpaceId);

    /**
     * 修改货位状态
     * @param stockId
     * @return
     */
    public int updateBasStockStatus(String stockId);

    int selectBasStockByTray(String trayCode);
    public BasStock selectBasStockByTrayz(String trayCodez,String product_id);
    public BasStock selectBasStockByTrays(String trayCode);

    /**
     * 补货入库时删库存
     * @param trayCode
     * @return
     */
   int deleteStockByTray(String trayCode);

    List<BasCargoSpace> findCargoList(BasCargoSpace basCargoSpace);

    BasStock findStockListOne(String stockId);

    List<BasStock> findStockList(BasStock basStock);

    int freezeInStock(String[] stockIds);

    int unfreezeStock(String[] stockIds);

    List<BasStock> findByThePlatoonAndTheColumnAndTheFloor(BasCargoSpace space);


}
